python 程序打包(UnicodeDecodeError: 'utf |
您所在的位置:网站首页 › python 打包程序 › python 程序打包(UnicodeDecodeError: 'utf |
python程序打包
pyinstaller -F *.py pyqt程序文件打包pyinstaller -w -F xxx.py --hidden-import PyQt5.sip 报错1:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position需执行 chcp 65001 再次执行pyinstaller指令 报错2:Maximum recursion depth exceeded这个参考了https://blog.csdn.net/lucytheslayer/article/details/81030840,说是因为递归遍历超过了限制,(但一般是因为你某一步有错,因为我之后把有错的地方解决了就不用加下述代码了)为了看最后生成的exe哪里有错不能运行,需要执行以下操作,以便继续生成exe文件 解决办法: 1.打开生成的xxx.spec文件,把一下代码加进去 import sys sys.setrecursionlimit(5000) 2.使用命令行 pyinstaller xxx.spec pyqt程序打包:1文件夹形式,2单独exe形式第一种打包完成拷贝pyqt platforms到文件夹内即可运行 第二种单独exe生成后即使拷贝platforms依然不能运行 参考https://blog.csdn.net/lynjan/article/details/81560732 大意是:64位操作系统和32位操作方法不一样,64位仅需拷贝platforms文件夹即可 本机64位win7,方法无效; 实在找不到其他类似问题解决办法,尝试其32位下解决办法 解决方案:在exe同目录下新建plugins文件夹,然后将platfroms文件夹移到新建的文件夹下,同时修改main方法,添加以下代码: QApplication.addLibraryPath("./plugins")尝试重新生成exe,解决; 生成exe可在不同电脑上运行; 但是-w生成不带调试窗口的程序能正常打开,但是一点击按钮就崩溃(不打包直接run正常) 暂时无解。。。(如有遇到类似情况的请留言指正) 电脑安装了Anaconda3包管理工具,使用pyinstaller打包exe程序比较大;据说使用纯净的python环境打包会小很多 注意:若调用外部程序,注意将其拷贝至exe同级目录 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |